The major new feature introduced with version 1.61 in the first quarter of 1990 is the ability to extract sound no matter what resource type it's hiding under. You'll find a detailed description on pages 7-9 of the printed manual.
There are also lots of other new features vis-a-vis versions 1.0 to 1.5. Some are very apparent, some are subtle. All were introduced in direct response to user wishes (including my own).
I hope you'll find your own wishes come true, but please do let me know what else you'd like Sound Mover to do in future (now is a good time to speak up, since I'm writing the new version, but please don't be offended if you don't get a personal reply to your suggestions: I need all my spare time to program).
What follows (in reverse chronological order) is a record of some of the most visible changes. Unless otherwise stated, each newer version inherits all the features (and hopefully sheds most of the bugs!) of its predecessor.
I'm keeping this log of changes not only for your information, but also to give credit, where credit is due, to the users who have prompted them. Even if your name is not listed below, rest assured that your registration and/or comments have contributed to keeping Sound Mover alive and worth improving.
Version 1.75 (released on Thursday, May 14, 1992)
• fixed two bugs reported by Steve Meuse where several bytes at the beginning of the waveform were being chopped off when converting between data and resource format.
• it will now open any file dropped onto its icon under System 7.0, not just its own.
Version 1.74 (September 24, 1991, released October 4, 1991)
• added radio button to allow creation of 7.0 'sfil' suitcases
• highlight now follows user colour choice
• added 'vers' resources
• added color icon resources (must throw away any and all old copies of Sound Mover before installing 1.74 and rebuild desktop in order to see the new icons)
• fixed encode bug in snd header
• fixed -47 bug reported by F.Lombard
Version 1.73 (a short lived local test version)
• can be launched by dropping 'sfil' files into it under 7.0
Version 1.72 (July 18, 1991)
No longer changes the modification date of files when you simply look into them to extract any sounds they may contain. This was requested by several users who didn't want their backup programs to make unnecessary backups of files that hadn't actually been modified.
Note however that if a file does not have a resource fork, Sound Mover will automatically add one the first time you open it: this WILL change the modification date unless the file happens to be locked.
Version 1.71 (Apr 14, 1991)
Halving the size of a sound by pressing option+command as you copy it to the other side was always meant to work on one sound at a time. Michael Hercus reported that v1.70 has a bug, whereby you are not prevented from copying a multiple selection of sounds while pressing option+command. This results in sounds that play at half the rate but also sound half as slow, since their size has not been halved as well. Version 1.71 will beep at you if you attempt an option+command Copy on a multiple selection.
It's the only difference in 1.71 vs 1.70.
Version 1.70 (Jan 25, 1991)
1) Clicking on the loudspeaker icon will now play all sounds selected in the list (as requested by Jim Beaupre). To stop, keep the mouse button pressed until the currently sound is finished playing.
2) When scrounging for sounds with option-open, if no 'snd ' resources are actually present in the file, then 'snd ' will be shown at the bottom of the menu between two gray divider lines. The reason it's still there at all, is that you may want to add 'snd ' resources to the file to make them available while it's open (as you would for Fonts or DAs).
3) Added code to prevent creating duplicate sound names when renaming (reported by John Lindal).
4) Fixed two obscure bugs and improved error handling and reporting when not enough memory is available to play a sound.
5) Please note that halving the size of a sound as it is copied across to a new file now requires pressing BOTH the command key AND the option key simultaneously (vs only the command key in previous versions).
Version 1.69 (Jan 19,1991):
1) Fixes a bug that causes Sound Mover 1.68 to get stuck in the "create new file" dialog!
2) When copying an 'snd ' to a data file, the alert to warn you that the present contents of the data file will be completely replaced now only appears if the file is not empty.
3) The default creator for the text file listing the contents of a sound suitcase is now 'ttxt' which will launch TeachText rather than QED1 (just about anyone has a copy of TeachText available somewhere on their hard disk).
Version 1.68 (Jan 13,1991(an extremely short-lived release)):
1) When pressing option in order to open any file to scrounge for sounds, Ron Whatley of Broken Arrow, Oklahoma found it confusing that SM would give him a choice between the Resource or Data fork even when one or both of them are in fact empty.
I have to agree with him and have thus changed Sound Mover's behaviour:
if the data fork is empty, no choice is given at all;
if the resource fork is empty, you are still given the choice to open it in case you actually want to add 'snd ' resources to it yourself (this is analogous to embedding a FONT or DA in a document when you want it to be available only while that document is open).
2) Richard Mortimer of Hillarys, Western Australia sent me a disk with two sound formats of a type not recognized by SM. While I was unable to decipher the proprietary format of Deluxe Music Construction Set v2.5 files, I did add a WAVE SoTy resource which allows Sound Mover to automatically recognize and open MacKeyBoard's files (versions 1.61 and up could have done the job via option-open).
In so doing, I found and fixed a bug which would have prevented you from getting a SoTy for a DATA file to work properly.
(If all this doesn't make too much sense to you, don't worry: some Mac users love to delve deep into their software and use tools like ResEdit, others don't)
3) When option closing a file to list its contents to a text file, you'll now also get the sound's size in bytes (separated from the name with a TAB to make it easy to import into spreadsheets or data-base applications).
Version 1.67 (a very short-lived release):
to respond to Kristbjörn Gunnarsson's bug report, we don't just quit with a -34 error when a disk is full, but prompt the user to save editing changes to a new file instead
Version 1.66 fixes a bug in the error reporting routine which would sometimes prevent the alert dialog to appear (this follows a bug report by Valerie Lewis from Ohio).
Version 1.65 fixes several bugs and adds a couple of cosmetic improvements and new features:
In the bug fixing category thanks are definitely due to Jim Beaupre. He recently sent me a disk containing a copy of a shareware game called Solarian. The problem he had was that although Sound Mover allowed him to option-open it and revealed the presence of several 'snd ' resources in the file, he could only play some of them, while some would play once and then disappear. Mea culpa, mea culpa… As it turned out, there was a bug in the handling of nameless resources in versions 1.60 to 1.63, but I'm glad to report that it's now fixed.
The other interesting thing about the sounds in Solarian, is that they all have their Preload attribute checked. What this means is that Sound Mover would attempt to load all the sounds into memory at once when opening the file and unless you were running under Finder with at least two megs or gave it a one meg partition under MultiFinder, the program would quite simply quit with not a word of explanation (memory would get so tight, that even the Out of memory alert couldn't get displayed!).
Sound Mover v1.65 now handles Solarian (and presumably any other similar files) the proper way: it doesn't load in any of the sounds unless and until you click on their name in the list. Furthermore, I've added code to handle low memory situations more gracefully (i.e. the program will at least politely inform you of the problem instead of abruptly quitting on you).
Several users have reported getting a -39 error when dealing with locked files or files on locked disks. I think that's fixed, too, but I cannot be sure I've tested all combinations, so please let me know if (and how) it still happens.
Also reported by a number of people, most recently including Robert Midden from Ohio, were the "clicks" that Sound Mover would occasionally introduce at the start of a sound. A bad assumption on my part about the length of the sound header turned out to be responsible for those and I think that they, too, should now be history. While trying out v1.64 on a sample stack sent in on a disk by Mr Midden, I also found and corrected the following bugs (that, by the way, accounts for 1.64's extremely short life! <grin>):
- after a Save, option Copy… would no longer work, because the name in the list got deselected;
- when saving the result of editing a type 2 snd back to its stack of origin it would become a type 1 instead of remaining a type 2;
- when copying a type1 snd into a STAK, the shorter header for type2 would leave six bytes that caused a click at the beginning.
Pressing the option key was always supposed to silence Sound Mover: it now does so in every case (I leave as an exercise to the reader the task of finding out the cases in which older versions stubbornly refused to shut up).
Time to move on to the cosmetics department:
To remind you of the effect that the option key has on the volume, you'll notice that when you press it the little speaker will turn to Silent (this is what is technically known as a "cosmetic" change, since the function was already in place).
And while on the subject of the option key, you'll also notice that the names of the buttons will now change to reflect their new meanings when pressed in conjunction with the option key.
What is more than cosmetic, is the NEW FEATURE that allows you to look for sound in the data fork of a file (as opposed to just looking for it in its resource fork).
This feature should come in handy to you if - like Montgomery Lee of Huntington Beach, CA - you wish to extract sounds from a SuperCard file (which stores them in its data fork). The only way to do that until v1.65 was to use ResEdit or some other utility to change the file's type to FSSD and then use Sound Mover to open it. From now on, you simply press the option key and choose Data Fork when presented with the choice after clicking Open any… and selecting the file.
Also new, is the fact that after removing one or more sounds, the list is now positioned at the place of removal and the sound preceding the one(s) you removed will blink a couple of times. Credit for this feature is due to Marc Scheuner from Switzerland for suggesting it.
Clicking Copy while holding option down has always caused just the part of the waveform which is selected to be copied across to the other side. In v1.65 the name of the button changes from Copy to Copy… and the dialog that follows includes a Play button should you wish to hear the partial sound you are about to copy across.
Version 1.63 differs very slightly from 1.62: David Laine wanted to extract the Ouch sound from the ThinkTank program and use it as a system beep. Unfortunately, because this sound is only 52 bytes long, Sound Mover refused to handle it, putting up the "this is not likely to be a sound" alert. This is normally a feature to prevent problems when trying to play as "sound" very short resources while using option-Open to explore any file. However, it should not apply to resources of type 'snd ' encountered after option-Open, since they very probably ARE legitimate sounds. Version 1.63 take care of that and David will be able to move and play his Ouch sound.
From version 1.62 it's possible to have Sound Mover list all the names of the sounds contained in a suitcase to a text file on disk. To accomplish this, hold down the option key as you click the Close button: a standard save dialog will prompt you for a name to be given to the file (defaulting to the suitcase's name plus ".contents") and allow you to select the volume and directory to save it to.
By default, the creator of the file will be QED1, which will launch QED/M when double clicking the file. If you prefer a different text editor to be launched, you can edit Sound Mover's FTYP resource, ID 1. This requires using ResEdit and is analogous to the way you can change the default creator for sound data files, as explained on page 11 of the printed manual.
Version 1.62 also fixes a bug which would sometimes cause the "In this file, look for sounds in resources of type:" dialog to disappear from the screen before allowing the user to do anything with it. The bug was independently reported by Paul Jacoby and D. Andrew Pease, whom I'd like to thank for drawing my attention to it.
Removing multiple sounds from a file is now much faster (it's one of the several things I fixed in response to comments sent in by David Lambert from New Zealand).
When replacing a sound with another which has the same name, the ID of the sound being replaced is preserved (suggested by Denis Figeys and especially useful if you want to change sounds in Finder Sounds, where what matters is the ID, rather than the name of the sound)
Won't play the sound when asking to save changes, unless user clicks the new Play button in the dialog (and the volume is > 0). I forget the names, but several users requested this one.
cmd-Q Quits the program
cmd-O is equivalent to clicking on the Open… button
When creating a new sound file, the name suggested for it will be the one currently highlighted in the list of sounds. If there's no selection or there are more than one, then the name will default to Sounds, as in the previous versions. This feature was suggested by Ivan MacKenzie and I find it a very nice touch, indeed.
Mr MacKenzie also requested a Renumber function. You'll now find it right under Rename in the Edit pop up menu.
Several users complained that command-r would not invoke the Remove menu item. The reason was that I thought it would be safer to only accept an uppercase R. I now ignore the case of the letter, so typing r or R while holding command down will invoke the Remove function. Since there is a confirmation alert anyway, I suppose there's no danger of accidentally erasing a sound.
If Sound Mover finds any nameless sound resources, it will henceforth give them a name, so that they will appear in the list. The name will be a number corresponding to the ID of the resource. You can then use the Rename function to call the sound whatever you wish.
If you like the four radio buttons under the scroll bar for changing the playback rate, you can thank Tony Rich who came up with the suggestion for that, as well as for the scroll bar to change the volume. He also made several other less obvious but very useful remarks which he'll find incorporated in the program.
You can thank Howard Shubs for the proper highlighting of the Edit… menu when selecting part of the waveform when the sound comes from a data file.
He also reported Sound Mover's misbehaviour under critical memory conditions (in other words when trying to open sounds that are too big to fit in memory). SM now gracefully tells you so, instead of crashing into the low level debugger or provoking the dreaded bomb dialog.
Many of you also reported that the registration form did not print, except on the LaserWriter: that's fixed, too.
Dave Stolzenbach wished that when a new sound is added to a file, the window would scroll to the newly added name. His wish has come true and I hope you'll like the double blinking of the sound name as it "lands" in its new home.
It was Scott Stineman's comments that finally got me to handle the Simple Beep and Clink-Klank sounds properly. I have always been aware that they didn't play properly, but he also pointed out that Simple Beep would crash his system when transfered to another file and then played.
Sound Mover now recognizes these snd's that are not entirely made up of sampled sound but also contain several commands for playing them and won't let you edit them.
If you simply must try to edit Simple Beep and Clink-Klank type snd's (the existence of which, I am not aware of at present, apart from Simple Beep and Clink-Klank themselves) you can always move them to a data file first and edit them there (assuming they contain something that can be edited). There's no guarantee that the result will be acceptable, though.
As for playing these sounds, it will only happen on any Macintosh II line Mac or any Mac running System 6.0 or higher. This is because I now pass these "special" snd's to the SndPlay trap, which is not present on earlier systems.
Timothy Moore reported that HyperCard would play any sound copied into a stack with Sound Mover twice. This bug was not there in versions prior to 1.52. It was introduced when I modified the way I created the snd2 header to more closely follow the example in Apple's Sound Manager documentation. It turns out I should have known better… Anyway, it's fixed.
Mr Moore also noticed that sounds copied into HyperCard itself (as opposed to a stack) would not be converted to snd2. That's now fixed, too.
Also fixed is that sounds are converted to snd2 when copied directly from a data file to a stack.
I also fixed an obscure bug reported by Frank Easterbrook. He likes to lock his system file (by checking the box in the get info) so that its modification date won't change and that it will thus be ignored when his back up program decides what should be backed up. That's all fair enough you'll say: right, but he found that Sound Mover didn't like a locked System file. So much so that it would crash his system. That too is now history.